package com.github.gcacace.signaturepad;

import android.os.Parcel;
import android.os.Parcelable;

import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by Administrator on 2014/10/29.
 */

public class EventUser implements Serializable {
    public EventUser() {
    }

    private long Id;
    public long EventId;
    public long JoinCateId;
    public long JoinId;
    public String UUId;
    public long EventUserId;
    public String FullPY;
    public String RealName;
    public String EventUserJoinImage;
    public String PosStatusEx;//职位
    public String DepartmentEx;//部门
    public String Email;
    public String CardImagePath;
    public String Company;//公司名
    public String Mobile;
    public int Status;
    public int PrintCount;
    public String LastPrintTime;
    public String PrintBG;
    public int TicketId;
    public boolean IsPaid;
    public boolean IsSignIn; //是否已签到
    public String SignInCode; //用来签到的识别码
    public String IdCardNo; //用来签到的识别码
    public String TrackingCode; //用来现场跟踪的识别码
    public String SignInTime; //签到时间
    public String UpdateTime;
    public int __v; //记录的版本，防止与服务器冲突。服务器端每次save加1，客户端上传的版本不能小于服务器端的版本
    public int FromSite = 5;
    public boolean NeedUpLoad;
    public int ScanCounting;
    public String LastCheckedTime;
    public int LastScanId;
    public String ExtraFields2;
    public Map<String, String> ExtraFields = new HashMap<String, String>();
    public int CheckFromType;
    public String WeiXin;//系统字段
    public String Address;
    // public String Hotel;
    public String PayTime;

    public long SpotId;//签到点
    public String AddTime;//签到时间
    public String LastScanTime;//最后签到时间
    public int SendSMSTimes;
    public String CreateTime;//报名时间
    public int PayType = 1;//支付类型目前默认值为1
    public String ChangedColumns;//暂不使用此字段
    public String uuid;

    public String SpotTitle;//签到记录的签到名称
    public boolean IsRepeat;
    public String LogGUID;
    //    public long TicketId;
    public String TicketPrice;
    public String TicketTitle;
    public String JoinCateName;


    public String CountryEx;//国家
    public String CityEx;//城市
    public long SendCodeTimes;//城市
    public String UserGroup; //用户分组
    public String MemberNumber; ////会员编号-可用于3188Saas会员验证
    public String WeiXinOpenId;     //就是老系统的  WXOpenId
    public String EventTitle;    //会议标题
    //
    public long UserId;
    public String AllowExchangeNameCard; //是否允许修改名片
    public String ConfirmTime; //审核状态最后更新时间 (审核成功/审核拒绝时间）;没有就是空;
    public String PNOpenId;  //公众号的OpenId
    public String AddIP;
    public String UpdateIP;
    //
    public String Remarks; //备注
    public String TotalAwardMoney;//最后一次打赏时间
    public String LastAwardTime;  //最后一次打赏时间
    public String AwardLotteryIds; //所中奖项编号 允许多个  逗号隔开
    public long JoinContactId; //参会者联系人编号
    public String SiteDiscountCode; //研习入社优惠码
    public int AllowSendCodeTimes; //允许发送电子码的次数（扣5块钱加两次）
    public int AllowSendSMSTimes;//允许发送短信通知的次数（扣5块钱加10次）

//
    public String IdCardType; //身份证件类型，身份证，护照，驾照
    public String StatusStr;  //审核状态（待审核，同意，拒绝，取消报名）
    public String ProvinceEx;//省
//
    public boolean countIsSignIn;//计数签到点下临时签到状态值，但删除签到记录后，用来标识用户的签到状态
    public boolean IsDeleted;
    public String DeviceCode;

    public String _id;

    @Deprecated
    public long BelongsUserId;//参会人是谁添加的

    public long[] OrderIdList;//是否关联了订单列表

    public String SignImagePath;//手写签名字段

    //临时字段
    public  boolean IsSignInBySignLog;//根据签到记录判断是否签到   打钩签到使用

    //临时字段
    public String SpotSignTime;//根据签到字段查询签到时间


    ////////////////////////////////////
    //未使用到的字段
    /**
    private Integer Language;
    private String ContactMobilePhone;
    private List<String> RelativeMobilePhones;
    private Object Gift;
    private Object Retroactive;
    private Object RetroactiveMoney;
    private String EventDateFrom;
    private String EventDateTo;
    private Object _Retroactive;
    private Integer OrderPayType;
    public boolean IsAssigned;     //是否已经分配给真实的报名用户（分配/分发了，就一定会有报名用户的姓名，手机，邮箱）
    private Object ScheduleIds;
    private Object ChannelID;
    private Object ChannelName;
    private Long ScrmCompanyId;
    private String WeiXinAppId;
    private boolean IsPrePare;     //是否允许候补报名 3188  boolean
    private String EventJoinOriginalImage;
    private String PaidString;
    private boolean IsImported;
    private boolean IsSubstitued; //是否代报名
    private Object ExtraFieldsForES;
    private Object ScanSpotStatisticList;
    private boolean ExistOrder;
    private Object TicketOrderID;
    private Object RelativeSpotIds;
    private Integer RecordVersion;
    private String DiscountCode;
    private String SendCodeTimesFix;
    private boolean UseReplySMS;   //是否因为互动短信已经扣费，只扣一次
    private boolean IsEmailOpened;  //通知邮件是否被打开过
    private String SignInFromName;
    private Object TicketInfoList;
    private Object RoleIds;
    private String RoleName;
    private Integer LevelId;
    private String LevelName;
    private Object LeaveReason;
    private Object RejectReason;
    private Integer ApprovalLeaveStatue;
    private String ApprovalLeaveStatuestr;
    private String ApprovalTime;
    private Integer AlterJoinFieldStatue;
    private String AlterJoinFieldContent;
    private Integer JoinNumber;
    private String OperatingUserName;
    private Integer OperatingUserType;
    private Object GlobalRoaming;
    private String NickName;
    private boolean IsSignInProductPackageDeduction;
    private Object MemberType;
    private Object MemberTypeId;
    private Object MemberGroup;
    private Object MemberGroupIds;
    private Object ContactGroup;
    private Object ContactGroupIds;
    private Object RealPayMoney;
    private String RealPayRemark;
    private boolean IsAnonymousFill;
    private Integer FaceStatus;
    private Object FaceMessage;
    private String PersonId;
    private boolean NotCheck;
    private String ArrivedFlightNo;
    private String ArrivedFlightDate;
    private String ActualArrivedTime;
    private Object ArrivedAirport;
    private Object ArrivedTerminal;
    private String LeaveFlightNo;
    private String LeaveFlightDate;
    private String ActualLeaveTime;

    private Object LeaveAirport;
    private Object LeaveTerminal;
    private String FaceCutImagePath;
    private String FaceFeatureBase64String;
    private Object JoinRight;
    private boolean IsBoothNumAllot;
    private boolean IsConfirmBoothUp;
    private boolean IsConfirmBoothSend;
    private boolean IsConfirmBoothDown;
    private boolean IsAddFixedCost;
    private String ConfirmBoothUrl;
    private Object BoothNum;
    private Object BoothArea;
    private Integer ExhibitorId;
    private Object ExhibitorNameZhengJian;
    private Integer LimitCertificatesCount;
    private boolean NotNeedRecordDbOperatingHistoryLog;
    **/
    ////////////////////////////////////



//    @Override
//    public String toString() {
//        return uuid;
//    }
//
//    @Override
//    public boolean equals(Object o) {
//        if (this == o) return true;
//        if (o == null || getClass() != o.getClass()) return false;
//
//        EventUser user = (EventUser) o;
//
//        return JoinId == user.JoinId;
//
//    }
//
//    @Override
//    public int hashCode() {
//        return (int) (JoinId ^ (JoinId >>> 32));
//    }
//
//    public long getId() {
//        return Id;
//    }
//
//    public void setId(long id) {
//        Id = id;
//    }
//


    /**
    public Integer getLanguage() {
        return Language;
    }

    public void setLanguage(Integer language) {
        Language = language;
    }

    public String getContactMobilePhone() {
        return ContactMobilePhone;
    }

    public void setContactMobilePhone(String contactMobilePhone) {
        ContactMobilePhone = contactMobilePhone;
    }

    public List<String> getRelativeMobilePhones() {
        return RelativeMobilePhones;
    }

    public void setRelativeMobilePhones(List<String> relativeMobilePhones) {
        RelativeMobilePhones = relativeMobilePhones;
    }

    public Object getGift() {
        return Gift;
    }

    public void setGift(Object gift) {
        Gift = gift;
    }

    public Object getRetroactive() {
        return Retroactive;
    }

    public void setRetroactive(Object retroactive) {
        Retroactive = retroactive;
    }

    public Object getRetroactiveMoney() {
        return RetroactiveMoney;
    }

    public void setRetroactiveMoney(Object retroactiveMoney) {
        RetroactiveMoney = retroactiveMoney;
    }

    public String getEventDateFrom() {
        return EventDateFrom;
    }

    public void setEventDateFrom(String eventDateFrom) {
        EventDateFrom = eventDateFrom;
    }

    public String getEventDateTo() {
        return EventDateTo;
    }

    public void setEventDateTo(String eventDateTo) {
        EventDateTo = eventDateTo;
    }

    public Object get_Retroactive() {
        return _Retroactive;
    }

    public void set_Retroactive(Object _Retroactive) {
        this._Retroactive = _Retroactive;
    }

    public Integer getOrderPayType() {
        return OrderPayType;
    }

    public void setOrderPayType(Integer orderPayType) {
        OrderPayType = orderPayType;
    }

    public boolean isAssigned() {
        return IsAssigned;
    }

    public void setAssigned(boolean assigned) {
        IsAssigned = assigned;
    }

    public Object getScheduleIds() {
        return ScheduleIds;
    }

    public void setScheduleIds(Object scheduleIds) {
        ScheduleIds = scheduleIds;
    }

    public Object getChannelID() {
        return ChannelID;
    }

    public void setChannelID(Object channelID) {
        ChannelID = channelID;
    }

    public Object getChannelName() {
        return ChannelName;
    }

    public void setChannelName(Object channelName) {
        ChannelName = channelName;
    }

    public Long getScrmCompanyId() {
        return ScrmCompanyId;
    }

    public void setScrmCompanyId(Long scrmCompanyId) {
        ScrmCompanyId = scrmCompanyId;
    }

    public String getWeiXinAppId() {
        return WeiXinAppId;
    }

    public void setWeiXinAppId(String weiXinAppId) {
        WeiXinAppId = weiXinAppId;
    }

    public boolean isPrePare() {
        return IsPrePare;
    }

    public void setPrePare(boolean prePare) {
        IsPrePare = prePare;
    }

    public String getEventJoinOriginalImage() {
        return EventJoinOriginalImage;
    }

    public void setEventJoinOriginalImage(String eventJoinOriginalImage) {
        EventJoinOriginalImage = eventJoinOriginalImage;
    }

    public String getPaidString() {
        return PaidString;
    }

    public void setPaidString(String paidString) {
        PaidString = paidString;
    }

    public boolean isImported() {
        return IsImported;
    }

    public void setImported(boolean imported) {
        IsImported = imported;
    }

    public boolean isSubstitued() {
        return IsSubstitued;
    }

    public void setSubstitued(boolean substitued) {
        IsSubstitued = substitued;
    }

    public Object getExtraFieldsForES() {
        return ExtraFieldsForES;
    }

    public void setExtraFieldsForES(Object extraFieldsForES) {
        ExtraFieldsForES = extraFieldsForES;
    }

    public Object getScanSpotStatisticList() {
        return ScanSpotStatisticList;
    }

    public void setScanSpotStatisticList(Object scanSpotStatisticList) {
        ScanSpotStatisticList = scanSpotStatisticList;
    }

    public boolean isExistOrder() {
        return ExistOrder;
    }

    public void setExistOrder(boolean existOrder) {
        ExistOrder = existOrder;
    }

    public Object getTicketOrderID() {
        return TicketOrderID;
    }

    public void setTicketOrderID(Object ticketOrderID) {
        TicketOrderID = ticketOrderID;
    }

    public Object getRelativeSpotIds() {
        return RelativeSpotIds;
    }

    public void setRelativeSpotIds(Object relativeSpotIds) {
        RelativeSpotIds = relativeSpotIds;
    }

    public Integer getRecordVersion() {
        return RecordVersion;
    }

    public void setRecordVersion(Integer recordVersion) {
        RecordVersion = recordVersion;
    }

    public String getDiscountCode() {
        return DiscountCode;
    }

    public void setDiscountCode(String discountCode) {
        DiscountCode = discountCode;
    }

    public String getSendCodeTimesFix() {
        return SendCodeTimesFix;
    }

    public void setSendCodeTimesFix(String sendCodeTimesFix) {
        SendCodeTimesFix = sendCodeTimesFix;
    }

    public boolean isUseReplySMS() {
        return UseReplySMS;
    }

    public void setUseReplySMS(boolean useReplySMS) {
        UseReplySMS = useReplySMS;
    }

    public boolean isEmailOpened() {
        return IsEmailOpened;
    }

    public void setEmailOpened(boolean emailOpened) {
        IsEmailOpened = emailOpened;
    }

    public String getSignInFromName() {
        return SignInFromName;
    }

    public void setSignInFromName(String signInFromName) {
        SignInFromName = signInFromName;
    }

    public Object getTicketInfoList() {
        return TicketInfoList;
    }

    public void setTicketInfoList(Object ticketInfoList) {
        TicketInfoList = ticketInfoList;
    }

    public Object getRoleIds() {
        return RoleIds;
    }

    public void setRoleIds(Object roleIds) {
        RoleIds = roleIds;
    }

    public String getRoleName() {
        return RoleName;
    }

    public void setRoleName(String roleName) {
        RoleName = roleName;
    }

    public Integer getLevelId() {
        return LevelId;
    }

    public void setLevelId(Integer levelId) {
        LevelId = levelId;
    }

    public String getLevelName() {
        return LevelName;
    }

    public void setLevelName(String levelName) {
        LevelName = levelName;
    }

    public Object getLeaveReason() {
        return LeaveReason;
    }

    public void setLeaveReason(Object leaveReason) {
        LeaveReason = leaveReason;
    }

    public Object getRejectReason() {
        return RejectReason;
    }

    public void setRejectReason(Object rejectReason) {
        RejectReason = rejectReason;
    }

    public Integer getApprovalLeaveStatue() {
        return ApprovalLeaveStatue;
    }

    public void setApprovalLeaveStatue(Integer approvalLeaveStatue) {
        ApprovalLeaveStatue = approvalLeaveStatue;
    }

    public String getApprovalLeaveStatuestr() {
        return ApprovalLeaveStatuestr;
    }

    public void setApprovalLeaveStatuestr(String approvalLeaveStatuestr) {
        ApprovalLeaveStatuestr = approvalLeaveStatuestr;
    }

    public String getApprovalTime() {
        return ApprovalTime;
    }

    public void setApprovalTime(String approvalTime) {
        ApprovalTime = approvalTime;
    }

    public Integer getAlterJoinFieldStatue() {
        return AlterJoinFieldStatue;
    }

    public void setAlterJoinFieldStatue(Integer alterJoinFieldStatue) {
        AlterJoinFieldStatue = alterJoinFieldStatue;
    }

    public String getAlterJoinFieldContent() {
        return AlterJoinFieldContent;
    }

    public void setAlterJoinFieldContent(String alterJoinFieldContent) {
        AlterJoinFieldContent = alterJoinFieldContent;
    }

    public Integer getJoinNumber() {
        return JoinNumber;
    }

    public void setJoinNumber(Integer joinNumber) {
        JoinNumber = joinNumber;
    }

    public String getOperatingUserName() {
        return OperatingUserName;
    }

    public void setOperatingUserName(String operatingUserName) {
        OperatingUserName = operatingUserName;
    }

    public Integer getOperatingUserType() {
        return OperatingUserType;
    }

    public void setOperatingUserType(Integer operatingUserType) {
        OperatingUserType = operatingUserType;
    }

    public Object getGlobalRoaming() {
        return GlobalRoaming;
    }

    public void setGlobalRoaming(Object globalRoaming) {
        GlobalRoaming = globalRoaming;
    }

    public String getNickName() {
        return NickName;
    }

    public void setNickName(String nickName) {
        NickName = nickName;
    }

    public boolean isSignInProductPackageDeduction() {
        return IsSignInProductPackageDeduction;
    }

    public void setSignInProductPackageDeduction(boolean signInProductPackageDeduction) {
        IsSignInProductPackageDeduction = signInProductPackageDeduction;
    }

    public Object getMemberType() {
        return MemberType;
    }

    public void setMemberType(Object memberType) {
        MemberType = memberType;
    }

    public Object getMemberTypeId() {
        return MemberTypeId;
    }

    public void setMemberTypeId(Object memberTypeId) {
        MemberTypeId = memberTypeId;
    }

    public Object getMemberGroup() {
        return MemberGroup;
    }

    public void setMemberGroup(Object memberGroup) {
        MemberGroup = memberGroup;
    }

    public Object getMemberGroupIds() {
        return MemberGroupIds;
    }

    public void setMemberGroupIds(Object memberGroupIds) {
        MemberGroupIds = memberGroupIds;
    }

    public Object getContactGroup() {
        return ContactGroup;
    }

    public void setContactGroup(Object contactGroup) {
        ContactGroup = contactGroup;
    }

    public Object getContactGroupIds() {
        return ContactGroupIds;
    }

    public void setContactGroupIds(Object contactGroupIds) {
        ContactGroupIds = contactGroupIds;
    }

    public Object getRealPayMoney() {
        return RealPayMoney;
    }

    public void setRealPayMoney(Object realPayMoney) {
        RealPayMoney = realPayMoney;
    }

    public String getRealPayRemark() {
        return RealPayRemark;
    }

    public void setRealPayRemark(String realPayRemark) {
        RealPayRemark = realPayRemark;
    }

    public boolean isAnonymousFill() {
        return IsAnonymousFill;
    }

    public void setAnonymousFill(boolean anonymousFill) {
        IsAnonymousFill = anonymousFill;
    }

    public Integer getFaceStatus() {
        return FaceStatus;
    }

    public void setFaceStatus(Integer faceStatus) {
        FaceStatus = faceStatus;
    }

    public Object getFaceMessage() {
        return FaceMessage;
    }

    public void setFaceMessage(Object faceMessage) {
        FaceMessage = faceMessage;
    }

    public String getPersonId() {
        return PersonId;
    }

    public void setPersonId(String personId) {
        PersonId = personId;
    }

    public boolean isNotCheck() {
        return NotCheck;
    }

    public void setNotCheck(boolean notCheck) {
        NotCheck = notCheck;
    }

    public String getArrivedFlightNo() {
        return ArrivedFlightNo;
    }

    public void setArrivedFlightNo(String arrivedFlightNo) {
        ArrivedFlightNo = arrivedFlightNo;
    }

    public String getArrivedFlightDate() {
        return ArrivedFlightDate;
    }

    public void setArrivedFlightDate(String arrivedFlightDate) {
        ArrivedFlightDate = arrivedFlightDate;
    }

    public String getActualArrivedTime() {
        return ActualArrivedTime;
    }

    public void setActualArrivedTime(String actualArrivedTime) {
        ActualArrivedTime = actualArrivedTime;
    }

    public Object getArrivedAirport() {
        return ArrivedAirport;
    }

    public void setArrivedAirport(Object arrivedAirport) {
        ArrivedAirport = arrivedAirport;
    }

    public Object getArrivedTerminal() {
        return ArrivedTerminal;
    }

    public void setArrivedTerminal(Object arrivedTerminal) {
        ArrivedTerminal = arrivedTerminal;
    }

    public String getLeaveFlightNo() {
        return LeaveFlightNo;
    }

    public void setLeaveFlightNo(String leaveFlightNo) {
        LeaveFlightNo = leaveFlightNo;
    }

    public String getLeaveFlightDate() {
        return LeaveFlightDate;
    }

    public void setLeaveFlightDate(String leaveFlightDate) {
        LeaveFlightDate = leaveFlightDate;
    }

    public String getActualLeaveTime() {
        return ActualLeaveTime;
    }

    public void setActualLeaveTime(String actualLeaveTime) {
        ActualLeaveTime = actualLeaveTime;
    }

    public Object getLeaveAirport() {
        return LeaveAirport;
    }

    public void setLeaveAirport(Object leaveAirport) {
        LeaveAirport = leaveAirport;
    }

    public Object getLeaveTerminal() {
        return LeaveTerminal;
    }

    public void setLeaveTerminal(Object leaveTerminal) {
        LeaveTerminal = leaveTerminal;
    }

    public String getFaceCutImagePath() {
        return FaceCutImagePath;
    }

    public void setFaceCutImagePath(String faceCutImagePath) {
        FaceCutImagePath = faceCutImagePath;
    }

    public String getFaceFeatureBase64String() {
        return FaceFeatureBase64String;
    }

    public void setFaceFeatureBase64String(String faceFeatureBase64String) {
        FaceFeatureBase64String = faceFeatureBase64String;
    }

    public Object getJoinRight() {
        return JoinRight;
    }

    public void setJoinRight(Object joinRight) {
        JoinRight = joinRight;
    }

    public boolean isBoothNumAllot() {
        return IsBoothNumAllot;
    }

    public void setBoothNumAllot(boolean boothNumAllot) {
        IsBoothNumAllot = boothNumAllot;
    }

    public boolean isConfirmBoothUp() {
        return IsConfirmBoothUp;
    }

    public void setConfirmBoothUp(boolean confirmBoothUp) {
        IsConfirmBoothUp = confirmBoothUp;
    }

    public boolean isConfirmBoothSend() {
        return IsConfirmBoothSend;
    }

    public void setConfirmBoothSend(boolean confirmBoothSend) {
        IsConfirmBoothSend = confirmBoothSend;
    }

    public boolean isConfirmBoothDown() {
        return IsConfirmBoothDown;
    }

    public void setConfirmBoothDown(boolean confirmBoothDown) {
        IsConfirmBoothDown = confirmBoothDown;
    }

    public boolean isAddFixedCost() {
        return IsAddFixedCost;
    }

    public void setAddFixedCost(boolean addFixedCost) {
        IsAddFixedCost = addFixedCost;
    }

    public String getConfirmBoothUrl() {
        return ConfirmBoothUrl;
    }

    public void setConfirmBoothUrl(String confirmBoothUrl) {
        ConfirmBoothUrl = confirmBoothUrl;
    }

    public Object getBoothNum() {
        return BoothNum;
    }

    public void setBoothNum(Object boothNum) {
        BoothNum = boothNum;
    }

    public Object getBoothArea() {
        return BoothArea;
    }

    public void setBoothArea(Object boothArea) {
        BoothArea = boothArea;
    }

    public Integer getExhibitorId() {
        return ExhibitorId;
    }

    public void setExhibitorId(Integer exhibitorId) {
        ExhibitorId = exhibitorId;
    }

    public Object getExhibitorNameZhengJian() {
        return ExhibitorNameZhengJian;
    }

    public void setExhibitorNameZhengJian(Object exhibitorNameZhengJian) {
        ExhibitorNameZhengJian = exhibitorNameZhengJian;
    }

    public Integer getLimitCertificatesCount() {
        return LimitCertificatesCount;
    }

    public void setLimitCertificatesCount(Integer limitCertificatesCount) {
        LimitCertificatesCount = limitCertificatesCount;
    }

    public boolean isNotNeedRecordDbOperatingHistoryLog() {
        return NotNeedRecordDbOperatingHistoryLog;
    }

    public void setNotNeedRecordDbOperatingHistoryLog(boolean notNeedRecordDbOperatingHistoryLog) {
        NotNeedRecordDbOperatingHistoryLog = notNeedRecordDbOperatingHistoryLog;
    }
     **/

}

